package com.itheima.gui;

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

/*
 *      第一个重点案例
 *
 *
 * */
//注意类名
public class UserLogin01 {
    //main方法,主入口
    public static void main(String[] args) {
        //创建窗体对象
        JFrame jf = new JFrame();
        //设置大小(单位是px像素)
        jf.setSize(400, 400);
        //基本设置
        //1.窗体标题
        jf.setTitle("登录界面");
        //2.居中显示
        jf.setLocationRelativeTo(null);
        //3.窗体关闭停止程序
        jf.setDefaultCloseOperation(3);
        //4.设置窗体置顶:为了别的窗体覆盖它
        jf.setAlwaysOnTop(true);
        //取消默认布局
        jf.setLayout(null);


        //用户名文本
        JLabel usernameJLabel = new JLabel("用户名");
        //设置大小
        usernameJLabel.setBounds(50, 50, 50, 20);
        //添加到窗体中
        jf.add(usernameJLabel);

        //密码文本
        JLabel passwordJLabel = new JLabel("密码");
        passwordJLabel.setBounds(50, 100, 50, 20);
        //添加到窗体中
        jf.add(passwordJLabel);

        //用户名输入框
        JTextField usernameField = new JTextField();
        //设置大小
        usernameField.setBounds(150, 50, 180, 20);
        //将文本框添加到窗体中
        jf.add(usernameField);

        //密码输入框
        JPasswordField passwordField = new JPasswordField();
        //设置大小
        passwordField.setBounds(150, 100, 180, 20);
        //将密码输入框添加到窗体中
        jf.add(passwordField);

        //登录按钮
        JButton button = new JButton("登录");
        //设置大小
        button.setBounds(50, 200, 280, 20);
        //将按钮添加到窗体中
        jf.add(button);
        //设置用户名密码
        String username = "chenjunhoa";
        String password = "123456";
        //给按钮添加点击事件
        button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                //获取密码与用户名框输入的字符串
                String name = usernameField.getText().trim();//注意要去除空格
                String pass = passwordField.getText().trim();

                //对框内进行非空判断
                if (name.isEmpty() || pass.isEmpty()){
                    //在消息框内提示,不能为空,并清空框内数据
                    JOptionPane.showMessageDialog(jf, "不能为空");
                    //结束本次事件
                    return;
                }
                //对获取到的用户名进行格式判断
                if(name.length() < 6 || name.length() > 12){
                    //在消息框中显示
                    JOptionPane.showMessageDialog(jf, "你输入个用户名格式错误,请重新输入");
                    //清理掉框内的内容
                    usernameField.setText("");
                }

                //对获取到的密码进行判断
                if(pass.length() < 6 || pass.length() > 12){
                    //在消息框内显示
                    JOptionPane.showMessageDialog(jf, "你输入的密码格式错误,请重新输入");
                    //清理掉框内的内容
                    passwordField.setText("");
                }

                //进行数据验证
                if(name.equals(username) && pass.equals(password)){
                    //窗体上显示
                    JOptionPane.showMessageDialog(jf, "恭喜你登录成功");
                    //清空内容
                    usernameField.setText("");
                    passwordField.setText("");
                }

            }
        });
        //显示窗体可见
        jf.setVisible(true);
    }
}
